const { couponApi } = require('../../utils/api/index.js')
// pages/order/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    activeTab: 'current', // 当前选中的标签：current-优惠券列表，history-待使用
    currentCoupons: [], // 优惠券列表
    historyCoupons: [], // 待使用列表
    pageSize: 20,
    currentPageNum: 1,
    hisPageNum: 1,
    optType: "new" //操作类型，如果是滚动下滑，数据需要加上之前页查询的部分，否则覆盖
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.setData({
      optType: "new"
    });
    this.loadActivityCoupon();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    // if("current" === tab){
    //   var pageNum = this.data.currentPageNum;
    //   this.setData({
    //     currentPageNum: pageNum + 1
    //   });
    // }else if("history" === tab){
    //   var pageNum = this.data.currentPageNum;
    //   this.setData({
    //     currentPageNum: pageNum + 1
    //   });
    // }
    // this.setData({
    //   optType: "append"
    // });
    // this.loadActivityCoupon();
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

  // 切换订单类型标签
  switchTab(e) {
    const tab = e.currentTarget.dataset.tab;
    if("current" === tab){
      this.setData({
        hisPageNum: 1
      });
    }else if("history" === tab){
      this.setData({
        currentPageNum: 1
      });
    }
    this.setData({
      activeTab: tab,
      optType: "new"
    });
    this.loadActivityCoupon({ optType: "new"});
  },

  // 导航到菜单页面
  navigateToMenu: function(e) {
    wx.switchTab({
      url: '/pages/menu/index',
      success: function() {
        console.log('跳转成功');
      },
      fail: function(error) {
        console.error('跳转失败', error);
        wx.showToast({
          title: '跳转失败',
          icon: 'none'
        });
      }
    });
  },

  // 加载优惠券数据
  async loadActivityCoupon() {
    // 根据activeTab判断查询优惠券还是待使用
    var activeTab = this.data.activeTab;
    var param = {};
    if("current" === activeTab){
      //优惠券列表
      try {
        const result = await couponApi.getActivityCouponList(param);
        if (result.code === '0000') {
          this.setData({
            currentCoupons: result.data
          });
        }else{
          wx.showToast({
            title: '获取优惠券失败：'+ result.msg,
            icon: 'none'
          })
        }
      } catch (error) {
        console.error('获取优惠券失败：', error)
        wx.showToast({
          title: '获取订单失败',
          icon: 'none'
        })
      }
    }else if("history" === activeTab){
      //查询用户待使用的优惠券
      try {
        const result = await couponApi.getUserCouponList({});
        if (result.code === '0000') {
          this.setData({
            historyCoupons: result.data
          });
        }else{
          wx.showToast({
            title: '获取待使用优惠券失败：'+ result.msg,
            icon: 'none'
          })
        }
      } catch (error) {
        console.error('获取待使用优惠券失败：', error)
        wx.showToast({
          title: '获取待使用优惠券失败：',
          icon: 'none'
        })
      }
    }
  },
  //领取优惠券
  async receiveCoupon(e) {
    try {
      const { id } = e.currentTarget.dataset;
      var param ={
        couponId: id
      }
      console.log(param);
      const result = await couponApi.saveUserCoupon(param);
        if (result.code === '0000') {
          wx.showToast({
            title: '领取成功',
            icon: 'none'
          })
        }else{
          wx.showToast({
            title: '获取待使用优惠券失败：'+ result.msg,
            icon: 'none'
          })
        }
    } catch (error) {
      console.error('领取优惠券失败：', error)
      wx.showToast({
        title: '领取优惠券失败',
        icon: 'none'
      })
    }
  }
})